/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ec.medical.util;

import com.ec.medical.entidades.Cita;
import com.ec.medical.entidades.Prestador;
import com.ec.medical.enumeracion.EstadoCitaEnum;
import com.ec.medical.servicio.CitaServicioLocal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.primefaces.model.DefaultScheduleModel;
import org.primefaces.model.ScheduleEvent;
import org.primefaces.model.ScheduleModel;

/**
 *
 * @author Administrador
 */
public class GenerarCitasParaRecepcion extends GenerarCitas {

    private CitaServicioLocal citaServicio;
    private Prestador prestador;
    

    public GenerarCitasParaRecepcion(CitaServicioLocal citaServicio, Prestador prestador ,Date fechaDesde) {
        super();
        this.citaServicio = citaServicio;
        this.prestador=prestador;
        this.fechaDesde = fechaDesde;

    }

    /**
     * genera las citas para ser mostradas en el calendario, consulta las citas
     * agendadas
     *
     *
     * @return
     */
    @Override
    public ScheduleModel generarCitasSoloActivas() {
        eventos = new ArrayList<ScheduleEvent>();
        List<Cita> citas = citaServicio.obtenerCitasPorPrestador(prestador, fechaDesde, EstadoCitaEnum.ACT);
        for (Cita cita : citas) {
            eventos.add(generar(cita));
        }
        return new DefaultScheduleModel(eventos);
    }

    /**
     * genera las citas para ser mostradas en el calendario
     *
     * @return
     */
    @Override
    public ScheduleModel generarCitasTodosEstados() {
        eventos = new ArrayList<ScheduleEvent>();
        List<Cita> citas = citaServicio.obtenerCitasPorPrestador(prestador, fechaDesde, estadosCitas);
        for (Cita cita : citas) {
            eventos.add(generar(cita));
        }
        return new DefaultScheduleModel(eventos);
    }
}